

/* this ALWAYS GENERATED file contains the definitions for the interfaces */


 /* File created by MIDL compiler version 7.00.0499 */
/* at Thu Nov 12 02:25:40 2009
 */
/* Compiler settings for .\SafScript.idl:
    Oicf, W1, Zp8, env=Win32 (32b run)
    protocol : dce , ms_ext, c_ext, robust
    error checks: allocation ref bounds_check enum stub_data 
    VC __declspec() decoration level: 
         __declspec(uuid()), __declspec(selectany), __declspec(novtable)
         DECLSPEC_UUID(), MIDL_INTERFACE()
*/
//@@MIDL_FILE_HEADING(  )

#pragma warning( disable: 4049 )  /* more than 64k source lines */


/* verify that the <rpcndr.h> version is high enough to compile this file*/
#ifndef __REQUIRED_RPCNDR_H_VERSION__
#define __REQUIRED_RPCNDR_H_VERSION__ 475
#endif

#include "rpc.h"
#include "rpcndr.h"

#ifndef __RPCNDR_H_VERSION__
#error this stub requires an updated version of <rpcndr.h>
#endif // __RPCNDR_H_VERSION__

#ifndef COM_NO_WINDOWS_H
#include "windows.h"
#include "ole2.h"
#endif /*COM_NO_WINDOWS_H*/

#ifndef __SafScript_h__
#define __SafScript_h__

#if defined(_MSC_VER) && (_MSC_VER >= 1020)
#pragma once
#endif

/* Forward Declarations */ 

#ifndef __IMacrosDriver_FWD_DEFINED__
#define __IMacrosDriver_FWD_DEFINED__
typedef interface IMacrosDriver IMacrosDriver;
#endif 	/* __IMacrosDriver_FWD_DEFINED__ */


#ifndef __IMacrosDrivers_FWD_DEFINED__
#define __IMacrosDrivers_FWD_DEFINED__
typedef interface IMacrosDrivers IMacrosDrivers;
#endif 	/* __IMacrosDrivers_FWD_DEFINED__ */


#ifndef __CombinationBody_FWD_DEFINED__
#define __CombinationBody_FWD_DEFINED__

#ifdef __cplusplus
typedef class CombinationBody CombinationBody;
#else
typedef struct CombinationBody CombinationBody;
#endif /* __cplusplus */

#endif 	/* __CombinationBody_FWD_DEFINED__ */


#ifndef ___IMacrosDriverEvents_FWD_DEFINED__
#define ___IMacrosDriverEvents_FWD_DEFINED__
typedef interface _IMacrosDriverEvents _IMacrosDriverEvents;
#endif 	/* ___IMacrosDriverEvents_FWD_DEFINED__ */


#ifndef __MacrosDriver_FWD_DEFINED__
#define __MacrosDriver_FWD_DEFINED__

#ifdef __cplusplus
typedef class MacrosDriver MacrosDriver;
#else
typedef struct MacrosDriver MacrosDriver;
#endif /* __cplusplus */

#endif 	/* __MacrosDriver_FWD_DEFINED__ */


#ifndef ___IMacrosDriversEvents_FWD_DEFINED__
#define ___IMacrosDriversEvents_FWD_DEFINED__
typedef interface _IMacrosDriversEvents _IMacrosDriversEvents;
#endif 	/* ___IMacrosDriversEvents_FWD_DEFINED__ */


#ifndef __MacrosDrivers_FWD_DEFINED__
#define __MacrosDrivers_FWD_DEFINED__

#ifdef __cplusplus
typedef class MacrosDrivers MacrosDrivers;
#else
typedef struct MacrosDrivers MacrosDrivers;
#endif /* __cplusplus */

#endif 	/* __MacrosDrivers_FWD_DEFINED__ */


/* header files for imported files */
#include "oaidl.h"
#include "ocidl.h"

#ifdef __cplusplus
extern "C"{
#endif 


/* interface __MIDL_itf_SafScript_0000_0000 */
/* [local] */ 

#define MACROS_JSCRIPT   L"JScript"
#define MACROS_VBSCRIPT   L"VBScript"


extern RPC_IF_HANDLE __MIDL_itf_SafScript_0000_0000_v0_0_c_ifspec;
extern RPC_IF_HANDLE __MIDL_itf_SafScript_0000_0000_v0_0_s_ifspec;

#ifndef __IMacrosDriver_INTERFACE_DEFINED__
#define __IMacrosDriver_INTERFACE_DEFINED__

/* interface IMacrosDriver */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_IMacrosDriver;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("85ED48AC-464A-4E49-866D-9B7996B23B3F")
    IMacrosDriver : public IDispatch
    {
    public:
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_FullName( 
            /* [retval][out] */ BSTR *ppstrFullName) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_FullName( 
            /* [in] */ BSTR strFullName) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Open( void) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_MacrosLanguage( 
            /* [retval][out] */ BSTR *ppMacrosLanguage) = 0;
        
        virtual /* [helpstring][id][propput] */ HRESULT STDMETHODCALLTYPE put_MacrosLanguage( 
            /* [in] */ BSTR pstrMacrosLanguage) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE RunProcedure( 
            /* [in] */ BSTR strProcName) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_Functions( 
            /* [retval][out] */ IEnumString **ppEnumString) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMacrosDriverVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMacrosDriver * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMacrosDriver * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMacrosDriver * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMacrosDriver * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMacrosDriver * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMacrosDriver * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMacrosDriver * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_FullName )( 
            IMacrosDriver * This,
            /* [retval][out] */ BSTR *ppstrFullName);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_FullName )( 
            IMacrosDriver * This,
            /* [in] */ BSTR strFullName);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Open )( 
            IMacrosDriver * This);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_MacrosLanguage )( 
            IMacrosDriver * This,
            /* [retval][out] */ BSTR *ppMacrosLanguage);
        
        /* [helpstring][id][propput] */ HRESULT ( STDMETHODCALLTYPE *put_MacrosLanguage )( 
            IMacrosDriver * This,
            /* [in] */ BSTR pstrMacrosLanguage);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *RunProcedure )( 
            IMacrosDriver * This,
            /* [in] */ BSTR strProcName);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_Functions )( 
            IMacrosDriver * This,
            /* [retval][out] */ IEnumString **ppEnumString);
        
        END_INTERFACE
    } IMacrosDriverVtbl;

    interface IMacrosDriver
    {
        CONST_VTBL struct IMacrosDriverVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMacrosDriver_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMacrosDriver_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMacrosDriver_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMacrosDriver_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMacrosDriver_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMacrosDriver_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMacrosDriver_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMacrosDriver_get_FullName(This,ppstrFullName)	\
    ( (This)->lpVtbl -> get_FullName(This,ppstrFullName) ) 

#define IMacrosDriver_put_FullName(This,strFullName)	\
    ( (This)->lpVtbl -> put_FullName(This,strFullName) ) 

#define IMacrosDriver_Open(This)	\
    ( (This)->lpVtbl -> Open(This) ) 

#define IMacrosDriver_get_MacrosLanguage(This,ppMacrosLanguage)	\
    ( (This)->lpVtbl -> get_MacrosLanguage(This,ppMacrosLanguage) ) 

#define IMacrosDriver_put_MacrosLanguage(This,pstrMacrosLanguage)	\
    ( (This)->lpVtbl -> put_MacrosLanguage(This,pstrMacrosLanguage) ) 

#define IMacrosDriver_RunProcedure(This,strProcName)	\
    ( (This)->lpVtbl -> RunProcedure(This,strProcName) ) 

#define IMacrosDriver_get_Functions(This,ppEnumString)	\
    ( (This)->lpVtbl -> get_Functions(This,ppEnumString) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMacrosDriver_INTERFACE_DEFINED__ */


#ifndef __IMacrosDrivers_INTERFACE_DEFINED__
#define __IMacrosDrivers_INTERFACE_DEFINED__

/* interface IMacrosDrivers */
/* [unique][helpstring][nonextensible][dual][uuid][object] */ 


EXTERN_C const IID IID_IMacrosDrivers;

#if defined(__cplusplus) && !defined(CINTERFACE)
    
    MIDL_INTERFACE("E10A2918-DF0A-4BB4-B33D-B680DCB47983")
    IMacrosDrivers : public IDispatch
    {
    public:
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE DoView( void) = 0;
        
        virtual /* [helpstring][id][propget] */ HRESULT STDMETHODCALLTYPE get_DataViews( 
            /* [retval][out] */ IUnknown **pDataViews) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Add( 
            BSTR strFullName,
            VARIANT_BOOL bLoad) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Move( 
            VARIANT varItem) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Load( 
            HWND hWnd) = 0;
        
        virtual /* [helpstring][id] */ HRESULT STDMETHODCALLTYPE Sava( void) = 0;
        
    };
    
#else 	/* C style interface */

    typedef struct IMacrosDriversVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            IMacrosDrivers * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            IMacrosDrivers * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            IMacrosDrivers * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            IMacrosDrivers * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            IMacrosDrivers * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            IMacrosDrivers * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            IMacrosDrivers * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *DoView )( 
            IMacrosDrivers * This);
        
        /* [helpstring][id][propget] */ HRESULT ( STDMETHODCALLTYPE *get_DataViews )( 
            IMacrosDrivers * This,
            /* [retval][out] */ IUnknown **pDataViews);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Add )( 
            IMacrosDrivers * This,
            BSTR strFullName,
            VARIANT_BOOL bLoad);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Move )( 
            IMacrosDrivers * This,
            VARIANT varItem);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Load )( 
            IMacrosDrivers * This,
            HWND hWnd);
        
        /* [helpstring][id] */ HRESULT ( STDMETHODCALLTYPE *Sava )( 
            IMacrosDrivers * This);
        
        END_INTERFACE
    } IMacrosDriversVtbl;

    interface IMacrosDrivers
    {
        CONST_VTBL struct IMacrosDriversVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define IMacrosDrivers_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define IMacrosDrivers_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define IMacrosDrivers_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define IMacrosDrivers_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define IMacrosDrivers_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define IMacrosDrivers_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define IMacrosDrivers_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 


#define IMacrosDrivers_DoView(This)	\
    ( (This)->lpVtbl -> DoView(This) ) 

#define IMacrosDrivers_get_DataViews(This,pDataViews)	\
    ( (This)->lpVtbl -> get_DataViews(This,pDataViews) ) 

#define IMacrosDrivers_Add(This,strFullName,bLoad)	\
    ( (This)->lpVtbl -> Add(This,strFullName,bLoad) ) 

#define IMacrosDrivers_Move(This,varItem)	\
    ( (This)->lpVtbl -> Move(This,varItem) ) 

#define IMacrosDrivers_Load(This,hWnd)	\
    ( (This)->lpVtbl -> Load(This,hWnd) ) 

#define IMacrosDrivers_Sava(This)	\
    ( (This)->lpVtbl -> Sava(This) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */




#endif 	/* __IMacrosDrivers_INTERFACE_DEFINED__ */



#ifndef __SafScriptLib_LIBRARY_DEFINED__
#define __SafScriptLib_LIBRARY_DEFINED__

/* library SafScriptLib */
/* [helpstring][version][uuid] */ 


EXTERN_C const IID LIBID_SafScriptLib;

EXTERN_C const CLSID CLSID_CombinationBody;

#ifdef __cplusplus

class DECLSPEC_UUID("8F758B44-D6C7-405D-AB36-84A1FCD22536")
CombinationBody;
#endif

#ifndef ___IMacrosDriverEvents_DISPINTERFACE_DEFINED__
#define ___IMacrosDriverEvents_DISPINTERFACE_DEFINED__

/* dispinterface _IMacrosDriverEvents */
/* [helpstring][uuid] */ 


EXTERN_C const IID DIID__IMacrosDriverEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("7381D123-2AFB-42A0-BF72-EBEBD81CDA13")
    _IMacrosDriverEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct _IMacrosDriverEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _IMacrosDriverEvents * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _IMacrosDriverEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _IMacrosDriverEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _IMacrosDriverEvents * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _IMacrosDriverEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _IMacrosDriverEvents * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _IMacrosDriverEvents * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        END_INTERFACE
    } _IMacrosDriverEventsVtbl;

    interface _IMacrosDriverEvents
    {
        CONST_VTBL struct _IMacrosDriverEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _IMacrosDriverEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define _IMacrosDriverEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define _IMacrosDriverEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define _IMacrosDriverEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define _IMacrosDriverEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define _IMacrosDriverEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define _IMacrosDriverEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* ___IMacrosDriverEvents_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_MacrosDriver;

#ifdef __cplusplus

class DECLSPEC_UUID("A0767F0B-E246-4112-8121-F0079AA2D694")
MacrosDriver;
#endif

#ifndef ___IMacrosDriversEvents_DISPINTERFACE_DEFINED__
#define ___IMacrosDriversEvents_DISPINTERFACE_DEFINED__

/* dispinterface _IMacrosDriversEvents */
/* [helpstring][uuid] */ 


EXTERN_C const IID DIID__IMacrosDriversEvents;

#if defined(__cplusplus) && !defined(CINTERFACE)

    MIDL_INTERFACE("D8BC59E5-B137-4BBF-BBE1-3A523EBE4233")
    _IMacrosDriversEvents : public IDispatch
    {
    };
    
#else 	/* C style interface */

    typedef struct _IMacrosDriversEventsVtbl
    {
        BEGIN_INTERFACE
        
        HRESULT ( STDMETHODCALLTYPE *QueryInterface )( 
            _IMacrosDriversEvents * This,
            /* [in] */ REFIID riid,
            /* [iid_is][out] */ 
            __RPC__deref_out  void **ppvObject);
        
        ULONG ( STDMETHODCALLTYPE *AddRef )( 
            _IMacrosDriversEvents * This);
        
        ULONG ( STDMETHODCALLTYPE *Release )( 
            _IMacrosDriversEvents * This);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfoCount )( 
            _IMacrosDriversEvents * This,
            /* [out] */ UINT *pctinfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetTypeInfo )( 
            _IMacrosDriversEvents * This,
            /* [in] */ UINT iTInfo,
            /* [in] */ LCID lcid,
            /* [out] */ ITypeInfo **ppTInfo);
        
        HRESULT ( STDMETHODCALLTYPE *GetIDsOfNames )( 
            _IMacrosDriversEvents * This,
            /* [in] */ REFIID riid,
            /* [size_is][in] */ LPOLESTR *rgszNames,
            /* [range][in] */ UINT cNames,
            /* [in] */ LCID lcid,
            /* [size_is][out] */ DISPID *rgDispId);
        
        /* [local] */ HRESULT ( STDMETHODCALLTYPE *Invoke )( 
            _IMacrosDriversEvents * This,
            /* [in] */ DISPID dispIdMember,
            /* [in] */ REFIID riid,
            /* [in] */ LCID lcid,
            /* [in] */ WORD wFlags,
            /* [out][in] */ DISPPARAMS *pDispParams,
            /* [out] */ VARIANT *pVarResult,
            /* [out] */ EXCEPINFO *pExcepInfo,
            /* [out] */ UINT *puArgErr);
        
        END_INTERFACE
    } _IMacrosDriversEventsVtbl;

    interface _IMacrosDriversEvents
    {
        CONST_VTBL struct _IMacrosDriversEventsVtbl *lpVtbl;
    };

    

#ifdef COBJMACROS


#define _IMacrosDriversEvents_QueryInterface(This,riid,ppvObject)	\
    ( (This)->lpVtbl -> QueryInterface(This,riid,ppvObject) ) 

#define _IMacrosDriversEvents_AddRef(This)	\
    ( (This)->lpVtbl -> AddRef(This) ) 

#define _IMacrosDriversEvents_Release(This)	\
    ( (This)->lpVtbl -> Release(This) ) 


#define _IMacrosDriversEvents_GetTypeInfoCount(This,pctinfo)	\
    ( (This)->lpVtbl -> GetTypeInfoCount(This,pctinfo) ) 

#define _IMacrosDriversEvents_GetTypeInfo(This,iTInfo,lcid,ppTInfo)	\
    ( (This)->lpVtbl -> GetTypeInfo(This,iTInfo,lcid,ppTInfo) ) 

#define _IMacrosDriversEvents_GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId)	\
    ( (This)->lpVtbl -> GetIDsOfNames(This,riid,rgszNames,cNames,lcid,rgDispId) ) 

#define _IMacrosDriversEvents_Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr)	\
    ( (This)->lpVtbl -> Invoke(This,dispIdMember,riid,lcid,wFlags,pDispParams,pVarResult,pExcepInfo,puArgErr) ) 

#endif /* COBJMACROS */


#endif 	/* C style interface */


#endif 	/* ___IMacrosDriversEvents_DISPINTERFACE_DEFINED__ */


EXTERN_C const CLSID CLSID_MacrosDrivers;

#ifdef __cplusplus

class DECLSPEC_UUID("6A906527-C23D-4F8A-8776-25067CD9E7A8")
MacrosDrivers;
#endif
#endif /* __SafScriptLib_LIBRARY_DEFINED__ */

/* Additional Prototypes for ALL interfaces */

unsigned long             __RPC_USER  BSTR_UserSize(     unsigned long *, unsigned long            , BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserMarshal(  unsigned long *, unsigned char *, BSTR * ); 
unsigned char * __RPC_USER  BSTR_UserUnmarshal(unsigned long *, unsigned char *, BSTR * ); 
void                      __RPC_USER  BSTR_UserFree(     unsigned long *, BSTR * ); 

unsigned long             __RPC_USER  HWND_UserSize(     unsigned long *, unsigned long            , HWND * ); 
unsigned char * __RPC_USER  HWND_UserMarshal(  unsigned long *, unsigned char *, HWND * ); 
unsigned char * __RPC_USER  HWND_UserUnmarshal(unsigned long *, unsigned char *, HWND * ); 
void                      __RPC_USER  HWND_UserFree(     unsigned long *, HWND * ); 

unsigned long             __RPC_USER  VARIANT_UserSize(     unsigned long *, unsigned long            , VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserMarshal(  unsigned long *, unsigned char *, VARIANT * ); 
unsigned char * __RPC_USER  VARIANT_UserUnmarshal(unsigned long *, unsigned char *, VARIANT * ); 
void                      __RPC_USER  VARIANT_UserFree(     unsigned long *, VARIANT * ); 

/* end of Additional Prototypes */

#ifdef __cplusplus
}
#endif

#endif


